package classes;

import java.util.Random;
import java.util.Scanner;

public class Personagem extends Recurso{

    private String nome;
    private String habilidade1;
    private String habilidade2; 
    
    
    Scanner teclado = new Scanner(System.in);
    
    // Métodos para acessar o valor das variáveis
    public String getNome() {
        return nome;
    }

    public String getHabilidade1() {
        return habilidade1;
    }


    public String getHabilidade2() {
        return habilidade2;
    }


    // Métodos envolvendo o Personagem
    public void consultarMapa(Recurso nome, Personagem x, Cenario cenario) {

        if (x.getHabilidade1().equals("Cartografia")) {
            String infMapa;
            if (cenario.getPosicao() == 1) {

                infMapa = "Verificando o mapa, você identifica duas passagens possíveis, A Estrada do Deserto e a Estrada do Charco. A Estrada do Deserto levará no mínimo 5 dias para ser atravessada. A Estra\nda do Charco aparentemente parece levar menos tempo em relação ao Deserto.";
                System.out.println("");
                System.out.println("" + infMapa);
                System.out.println("");
            } else if (cenario.getPosicao() == 2.3f) {

                infMapa = "Consultando o mapa, você vê que está bem adiantado e está quase no fim do deserto";
                System.out.println("");
                System.out.println("" + infMapa);

            } else if (cenario.getPosicao() == 2.4f) {

                infMapa = "Você vê em seu mapa que se seguir reto, em direção a este terreno estranho sairá rapidamente do deserto, mas se tomar o outro caminho demorará mais um dia no mínimo para conseguir \nsair.";
                System.out.println("");
                System.out.println("" + infMapa);
            } else if (cenario.getPosicao() == 3) {

                infMapa = "Consultando o mapa novamente, você percebe que havia duas subdivisões na Estrada do Charco que não havia notado anteriormente. Uma ao Norte e outra ao Sul, a entrada do Norte sendo\nacessível somente em tempo seco, e a do Sul em tempos de chuva.";
                System.out.println("");
                System.out.println("" + infMapa);

            }

        } else {

            System.out.println("Você não possui um mapa ou não tem habilidade para interpreta-lo.");
        }


    }
    // Método para decidir um caminho 

    public void tomarDecisao(String escolha, String opcao1, String opcao2) {

        if (escolha.equals("1")) {

            System.out.println("");
            System.out.println("" + opcao1);
        }
        if (escolha.equals("2")) {

            System.out.println("");
            System.out.println("" + opcao2);
        }
        // Durante o jogo o mensageiro terá de tomar decisões em relação ao caminho


    }

    // Método para previsão do tempo
    public String preverTempo(Personagem x, String opcao1, String opcao2) {

        if (x.getHabilidade2().equals("Prever Tempo")) {
            Random qualquer = new Random();
            int numeroGerado = qualquer.nextInt(3);

            if (numeroGerado == 0) {
                numeroGerado = 2;
                return opcao2;
            } else if (numeroGerado == 2) {
                return opcao2;
            } else {
                return opcao1;
            }

        } else {

            System.out.println("Voce não possui a habilidade de prever o tempo.");
        }

        return null;
    }

    public String resultPrevisaoSol(String charco3, String charco1, String sol) {

        if (charco3.equals(charco1)) {

            sol = charco1;
            return sol;
        } 
        return null;
    }
    
    public String resultPrevisaoChuva(String charco3, String charco2, String chuva){
        if(charco3.equals(charco2)){
            
            
            chuva = charco2;
            return chuva;
        }
        
   
        return null;
    }
    
    public Scanner mensageiro(){
        
        habilidade1 = "Cartografia";
        habilidade2 = "Prever Tempo";        
        System.out.println("Dê um nome ao mensageiro <sem espaço>:");
        nome = teclado.next(); // mudei aki que por da pau se deixar o Scanner na hora do teste
        
        return null;
    }
    
    
}
